package com.situ.fly.controller;

import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import com.situ.fly.util.VerCodeUtil;

/**
 * 在Java中, 定义不同的标识符, 采用大驼峰
 * 1) 定义类, 接口, 枚举的名字, 使用大驼峰, 
 * 	每个单词的首字母大写, 其它字母小写
 * 2) 定义变量, 方法, 使用小驼峰
 * 	首单词全部小写, 其它单词首字母大写,其它字母小写
 * 3) 常量, 全部大写, 单词之间使用_分隔
 * 
 * @author bobzyh
 *
 *	在类上加上@Controller注解, 就是在告诉SpringBoot项目
 *	这里面可以写处理器
 *	@Override
 *
 *	
 */
@Controller
public class IndexController {
	
	/**
	 * 编写处理器
	 * 1) 定义一个方法
	 * 2) 添加URL的映射
	 * 		使用注解: @RequestMapping, 
	 * 		@GetMapping, @PostMapping
	 */
	@RequestMapping("/")
	// 括号中的/代表, 当浏览器中访问http://127.0.0.1:9000/
	// 由index方法进行处理
	public String index() {
		return "index";	// 返回的是视图的名字, 也就是模版的名字
	}
	
	/**
	 * 生成图片验证码
	 */
	@GetMapping("/vercode")
	public void vercode(HttpServletResponse response,
			HttpSession session) {
		// 通过Response对象, 将生成的验证码图片, 返回给客户端
		String vercode = VerCodeUtil.createVerCode(response);
		// 将生成的验证码保存到Session中
		session.setAttribute("vercode", vercode);
	}
	
}
